// _compoments/indexLoadingView/indexLoadingView.js
const app = getApp();

Component({
        /**
         * 组件的属性列表
         */
        properties: {

        },

        /**
         * 组件的初始数据
         */
        data: {
                baseUrl: app.globalData.baseUrl,
                processWidth: 200,

                // tip 和按钮
                showTipAndBtn: false,

                // 授权？
                canIUseGetUserProfile: false,

                isExitView: false
        },

        attached() {
                if (wx.getUserProfile) {
                        this.setData({
                                canIUseGetUserProfile: true
                        })
                }

                this.startProgressBarAni();
        },

        /**
         * 组件的方法列表
         */
        methods: {
                startProgressBarAni() {
                        this.setData({
                                processWidth: 0,
                        })

                        setInterval(() => {
                                let temp = this.data.processWidth;
                                if (temp <= 550) {
                                        this.setData({
                                                processWidth: temp + 10,
                                        })
                                } else if (temp <= 560) {
                                        // 加载完成
                                        this.setData({
                                                processWidth: temp + 10,
                                                showTipAndBtn: true,
                                                processWidth: temp + 10,
                                        })
                                        // this.enterMainPage();
                                }
                        }, 50);
                },

                /**
                 * 授权
                 * @param {*} e 
                 */
                getUserProfile(e) {
                        // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认，开发者妥善保管用户快速填写的头像昵称，避免重复弹窗

                        if (app.globalData.userIcon && app.globalData.userName) {
                                this.enterMainPage();
                                return;
                        }

                        wx.getUserProfile({
                                desc: '展示用户信息', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
                                success: (res) => {
                                        console.log(res)
                                        app.globalData.userIcon = res.userInfo.avatarUrl;
                                        app.globalData.userName = res.userInfo.nickName;

                                        if (app.globalData.openId != null)
                                                this.enterMainPage();
                                        else {
                                                wx.showToast({
                                                        title: 'openId异常',
                                                        icon: "none"
                                                })
                                                return;
                                        }
                                },
                                fail: (err) => {
                                        console.log(err)
                                        app.globalData.userIcon = null;
                                        app.globalData.userName = null;

                                        wx.showToast({
                                                title: '您未授权，不可以进入大厅',
                                                icon: "none"
                                        })
                                }
                        })
                },

                enterMainPage() {
                        this.setData({
                                isExitView: true
                        })

                        setTimeout(() => {
                                this.triggerEvent("onLoadingFinish");
                        }, 500);
                }
        }
})